using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{
   
    public class DepositInstructionDetail 
    {
        #region Properties
              // DEPOSIT_INSTRUCTION_DETAIL_ID
        public virtual int DepositInstructionDetailID { set; get; }
      // INSTRUCTION_HEADER_ID
        public virtual int? InstructionHeaderID { set; get; }
      // INSTRUMENT_HEADER_ID
        public virtual int? InstrumentHeaderID { set; get; }
      // INSTRUMENT_TRANSACTION_ID
        public virtual int? InstrumentTransactionID { set; get; }
      // INSTRUCTION_TRANSACTION_TYPE
        public virtual String InstructionTransactionType { set; get; }
      // INSTRUCTION_BANK_NAME
        public virtual String InstructionBankName { set; get; }
      // INSTRUCTION_BRANCH_NAME
        public virtual String InstructionBranchName { set; get; }
      // INSTRUCTION_TERM
        public virtual String InstructionTerm { set; get; }
      // INSTRUCTION_INTEREST_RATE
        public virtual decimal? InstructionInterestRate { set; get; }
      // INSTRUCTION_AMOUNT
        public virtual decimal? InstructionAmount { set; get; }
      // INSTRUCTION_SETTLEMENT_DATE
        public virtual DateTime? InstructionSettlementDate { set; get; }
      // INSTRUCTION_TRADE_DATE
        public virtual DateTime? InstructionTradeDate { set; get; }
      // INSTRUCTION_MATURITY_DATE
        public virtual DateTime? InstructionMaturityDate { set; get; }
      // INSTRUCTION_TYPEOFPAYMENT
        public virtual String InstructionTypeofpayment { set; get; }
      // INSTRUCTION_REF_NO
        public virtual String InstructionRefNO { set; get; }
      // INSTRUCTION_ACCOUNT_VOUCER_NO
        public virtual String InstructionAccountVoucerNO { set; get; }
      // CREATE_DATE
        public virtual DateTime? CreateDate { set; get; }
      // CREATE_BY
        public virtual String CreateBY { set; get; }
      // MODIFY_DATE
        public virtual DateTime? ModifyDate { set; get; }
      // MODIFY_BY
        public virtual String ModifyBY { set; get; }
      // GUARANTOR
        public virtual String Guarantor { set; get; }

        #endregion

        

        public override bool Equals(object obj)
        {
            if(obj == null)
                return false;
            if(obj.GetType() != typeof(DepositInstructionDetail) && !(obj is DepositInstructionDetail))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}",DepositInstructionDetailID);
        }

    }


}